A performance management server is a platform that can support business models and business conventions. On top of the platform complex multidimensional business calculations can be defined. Performance management server implementations typically use a classical client/server approach, where calculations are defined, saved, and maintained on the server.
Data in the performance management server backend store is usually manipulated using spreadsheet applications. To obtain the latest correct changes of the impending changes from the spreadsheet client, those changes are submitted to performance management server. The performance management server then performs the operations, and subsequently, the spreadsheet application fetches the calculated data from the performance management server which is then displayed in the spreadsheet application as pure data.
A drawback of this approach is that if the user changes one of the input cells on the sheet and the input has an impact on a calculated value on the same sheet, the new calculated value needs to be re-calculated on the backend server and re-fetched back to the sheet requiring a poorly performing three-step round-trip operation (write back the new input, calculate the new value, and then re-fetch the new value). This procedure makes the user experience less user friendly and further places a burden on server, thereby reducing server availability and scalability.